[IA64] do not export XSI_BASE, use set_shared_info_va
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Sun, 1 Oct 2006 17:09:54 +0000 (11:09 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Sun, 1 Oct 2006 17:09:54 +0000 (11:09 -0600)
Until now, the set_shared_info_va hypercall was never used.
This patch remove XSI_BASE and use this hypercall to set the xsi address.
Because xsi is now in the top 1MB (before percpu space), linux code should be
slightly more compact (addl instead of movl).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S
linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h
xen/include/public/arch-ia64.h

index 918622918ec4b88ea154f17b658588104f9896e2..71b6794c2a38f1bf730ca54068a86fdc30876414 100644 (file)
@@ -23,12 +23,11 @@ GLOBAL_ENTRY(early_xen_setup)
        
        mov cr.iva=r10
 
-#if XSI_BASE != 0xf100000000000000UL
-       /* Backward compatibility.  */
-(isBP) mov r2=0x600
+       /* Set xsi base.  */
+#define FW_HYPERCALL_SET_SHARED_INFO_VA                        0x600
+(isBP) mov r2=FW_HYPERCALL_SET_SHARED_INFO_VA
 (isBP) movl r28=XSI_BASE;;
 (isBP) break 0x1000;;
-#endif
 
        br.ret.sptk.many rp
        ;;
index 073b3a2a77b3585290fbd4f4c6f92706ebb6259c..6f3c20a8eda0c52ab6d12a795f8e85602e9c679e 100644 (file)
 
 #define IA64_PARAVIRTUALIZED
 
-#if 0
-#undef XSI_BASE
 /* At 1 MB, before per-cpu space but still addressable using addl instead
    of movl. */
 #define XSI_BASE                               0xfffffffffff00000
-#endif
 
 /* Address of mapped regs.  */
 #define XMAPPEDREGS_BASE               (XSI_BASE + XSI_SIZE)
index 98bda1d24177e4e2c2e24f36a5dd871d79982ea0..49639522151e7b98b0944b269c9cd3c31f2e10d6 100644 (file)
@@ -395,10 +395,6 @@ struct xen_ia64_boot_param {
 
 #endif /* !__ASSEMBLY__ */
 
-/* Address of shared_info in domain virtual space.
-   This is the default address, for compatibility only.  */
-#define XSI_BASE                       0xf100000000000000
-
 /* Size of the shared_info area (this is not related to page size).  */
 #define XSI_SHIFT                      14
 #define XSI_SIZE                       (1 << XSI_SHIFT)